package com.mianyang.zhangsan.service;

import com.mianyang.zhangsan.model.dto.SecGrant;
import com.mianyang.zhangsan.model.dto.SecGrantAuthDto;
import com.mianyang.zhangsan.model.entity.SecRoleAuthority;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author jiangjr
 * @since 2022-10-23
 */
public interface ISecRoleAuthorityService extends IService<SecRoleAuthority> {

    /**
     * 查询指定角色的权限
     * @param roleId 角色id
     * @return 权限id
     */
    List<Long> selectAuthorities(Long roleId);

    /**
     * 查询多个角色的权限
     * @param roleIds 角色集合
     * @return 权限id
     */
    List<Long> selectAuthorities(List<Long> roleIds);

    /**
     * 为角色授权
     * @param grant 授权信息
     */
    void grant(SecGrant grant);

    /**
     * 根据角色编号删除权限
     * @param roleId 角色编号
     */
    void removeByRoleId(Long roleId);
}
